package com.surfilter.massdata.es.core.service;

import java.io.IOException;
import java.util.List;

import com.surfilter.massdata.es.core.entity.EsUpdateEntity;



public interface EsIndexService {
	
	/**
	 * 
	 * 单个实例索引
	 * 
	 * @param indexName 索引名
	 * @param typeName 类型（表名）
	 * @param entity 带插入实例
	 * @throws IOException IO异常
	 */
	public void SingleIndex(String indexName,String typeName,Object entity) throws IOException ;
	/**
	 * 
	 * 多个实例索引
	 * 
	 * @param indexName 索引名
	 * @param typeName 类型（表名）
	 * @param lstEntity 带插入实例集合
	 * @param bulkSize 批量索引数
	 * @throws IOException IO异常
	 */
	public void bulkIndex(String indexName,String typeName,List<?> lstEntity , int bulkSize) throws IOException ;
	
	
	/**
	 * 
	 * 单个实例索引
	 * 
	 * @param indexName 索引名
	 * @param typeName 类型（表名）
	 * @param entity 带插入实例
	 * @throws IOException IO异常
	 */
	public void SingleUpdate(String indexName,String typeName, EsUpdateEntity entity) throws IOException;
	/**
	 * 
	 * 多个实例索引
	 * 
	 * @param indexName 索引名
	 * @param typeName 类型（表名）
	 * @param lstEntity 带插入实例集合
	 * @param bulkSize 批量索引数
	 * @throws IOException IO异常
	 */
	public void bulkUpdate(String indexName,String typeName,List<? extends EsUpdateEntity> lstEntity , int bulkSize) throws IOException;
	
}
